var request;		//用户向服务器发起请求的XMLHttpRequest对象

/**
 * 向服务器发出添加好友请求
 * @param friendId 要添加的好友id
 */
function addFriend(friendId)
{
	request = createXMLHttpRequest();
	request.onreadystatechange = getAddFriendResponse;
	request.open("GET", "addFriend.html?friendID="+friendId, true);
	request.send(null);
}

/**
 * 向服务器发出删除好友请求
 * @param friendId 要删除的好友id
 */
function delFriend(friendId)
{
	request = createXMLHttpRequest();
	request.onreadystatechange = getDelFriendResponse;
	request.open("GET", "delFriend.html?friendID=" + friendId, true);
	request.send(null);
}

/**
 * 创建XMLHttpRequest对象（考虑到不同浏览器的兼容性问题）
 * @return 如果创建成功，返回XMLHttpRequest对象，否则抛出异常
 */
function createXMLHttpRequest()
{
	if(typeof XMLHttpRequest != "undefined")
	{
		return new XMLHttpRequest();
	}
	else if(typeof ActiveXObject != "undefined")
	{
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		throw new Error("XMLHttpRequest not supported");
	}
}

/**
 * 处理添加好友请求的服务器响应的回调函数
 * 根据服务器的响应代码提示用户添加好友结果
 */
function getAddFriendResponse()
{
	//已经完成请求
	if(request.readyState == 4)
	{
		//响应代码为201(created)
		if(request.status == 201)
		{
			alert("添加好友成功");
			window.location.reload();
		}
		
		//响应代码409(conflict)
		if(request.status == 409)
		{
			alert("该用户已经是您的好友");
		}
	}

}

/**
 * 处理删除好友请求的服务器响应的回调函数
 * 根据服务器的响应代码提示用户删除好友的结果
 */
function getDelFriendResponse()
{
	//已经完成请求
	if(request.readyState == 4)
	{
		//响应代码为200(OK)
		if(request.status == 200)
		{
			alert("删除好友成功");
			window.location.reload();
		}
		
		//响应代码404(no found)
		if(request.status == 404)
		{
			alert("该用户还不是您的好友");
		}
	}
}